其實使用PHP大概也超過十年,但是說實話,不能說很熟悉這個語言,只能說偶爾會使用他來混口飯吃。(比較起來,我比較喜歡Javascript,因為有一些細節很難掌握)
其實會想要寫這樣的主題,還有一個原因,就是公司之前一個失敗的外包專案。這是一個英語學習平台的服務,使用PHP來開發,外包廠商轉給下包,之後又更換下包,拖延了很久,都沒有辦法符合需求。後來我們付錢砍掉案子,但是取得source來整理,這時才發現要花非常的的功夫才能讓這個軟體進入「可維護」。
PHP的入手門檻很低,許多事情只要會echo就做的出來,尤其像是網站平台。但是用這種方式開發出來的東西,只要碰到需要異動的場合,就會人仰馬翻。我想熟悉這個語言、熟悉相關工具、了解更好的架構方式,就可以逐步改善。也希望透過這個方式,可以讓自己的PHP技術能力逐步提昇。
我想接下來的文章大概會著重在三個主題範疇
PHP的語言特性
我大概從PHP3開始使用這個語言,到目前最新的PHP5.5,核心的開發者已經給這個語言加入很多的特性,除了跟主流物件導向的特性更接近,也加進不少特別的語法。另外,有一些基本的語言特性,我也不夠熟悉,希望先花一些時間來好好掌握一下。
PHP的開發工具
除了開發,怎樣提昇程式品質,減少開發時除錯需要的功夫,衡量程式品質、利用自動化來減少維護的力氣等等,也都是熟悉一個語言時,需要一同入手的。所以也在花一些功夫來熟悉這些工具。
逐步改善應用程式設計
基於之前的慘痛經驗,所以還是要著手實行,看看怎樣逐步改善軟體的設計。這部份當然主要的目標是MVC,不過因為要「逐步改善」,所以會花一些時間看看怎樣逐步把各個部分整理好然後切開,最後可以組織出一個可維護的MVC架構。
大概就是這樣...因為重點在我「不熟悉」的部份,所以只會針對一些重點來研究。其實本來只想研究一下改進網站應用軟體設計的部分,但是因為最近很忙,很怕做不完,所以乾脆把題目放大....